Product feature and relation comparison system

ABSTRACT

A method of presenting data regarding products. Feature categories are assigned to each product category based on available data. A weighted importance is assigned to each feature category of each product category based on the available data. The items in the product category are ranked according to the weighted importance of the feature categories of each item, and the evaluation metrics of each feature category.

PRODUCT FEATURE AND RELATION COMPARISON SYSTEM

This application is a continuation of application Ser. No. 09/579,859filed May 25, 2000, the contents of which are incorporated herein byreference.

FIELD OF THE INVENTION

The present invention relates generally to the field of e-commerce and,more specifically, to knowledge representation and decision supportregarding multiple items for users of a network-based transactionfacility such as, for example, an Internet-based comparison shoppingfacility.

BACKGROUND OF THE INVENTION

An advantage offered by network-based transaction facilities (e.g.,business-to-business, business-to-consumer and consumer-to-consumerInternet marketplaces and retailers) and on-line communities is that byusing such facilities or communities, users may shop from a variety ofmerchants.

The merchants may offer a variety of products or specialize in one typeof product. Some users buy products after searching through theofferings of the various merchants and comparing the products and theprices.

Recently comparison shopping facilities have developed that list variousmerchant offerings on one site to aid users in choosing from whichmerchant they should buy an item. These comparison shopping facilitiespresent items by listing the price and name of the merchant offering theitem.

The user may choose items from the listing and go to each merchant'ssite to learn more about each item or buy the item. Each available itemfrom each manufacturer is listed separately. Thus, a user has to go tothe comparison shopping facility either knowing what product to buybeforehand, and compare merchants and prices at the facility, or look ateach item separately, by following a link to each merchant's site, todetermine if the item is appropriate. Most comparisons performed bycomparison shopping sites are based on the merchant's offer price. Thatis, the result of the comparison shopping is a list of items listedaccording to price.

SUMMARY OF THE INVENTION

A method of presenting data regarding products is described. In oneembodiment, feature categories are assigned to each product categorybased on available data. A weighted importance is assigned to eachfeature category of each product category based on the available data.The items in the product category are ranked according to the weightedimportance of the feature categories of each item.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given below and from the accompanying drawings of variousembodiments of the invention, which, however, should not be taken tolimit the invention to the specific embodiments, but are for explanationand understanding only.

FIG. 1 illustrates an embodiment of a product feature and relationcomparison system;

FIG. 2 a is a flow diagram of an embodiment of a product feature andrelation comparison system;

FIG. 2 b is a flow diagram of another embodiment of a product featureand relation comparison system;

FIG. 3 is a flow diagram of another embodiment of a product feature andrelation comparison system;

FIG. 4 is a more detailed flow diagram of the product feature andrelation comparison system of FIG. 2 b;

FIG. 5 is a graph illustrating an embodiment of a featurecontextualization system;

FIG. 6 is a flow diagram of an embodiment of a decision support system.

DETAILED DESCRIPTION

A product feature and relation comparison system is disclosed. In thefollowing description, numerous specific details are set forth such asconfigurations, media, etc., in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that these specific details need not be employedto practice the present invention. In other instances, well known mediaor methods have not been described in detail in order to avoid obscuringthe present invention.

Some portions of the detailed descriptions which follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The present invention also relates to apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the required method steps. The required structurefor a variety of these systems will appear from the description below.In addition, the present invention is not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof the invention as described herein.

FIG. 1 illustrates an embodiment of a product feature and relationcomparison system. The process may be performed by processing logic thatmay comprise hardware, software, or a combination of both. Note thatalthough the process is described with reference to comparing featuresof products, it should be understood that the feature comparisonmethodology described herein may be applied to other types of services.

Referring to FIG. 1, a product feature and relation comparison system100 is illustrated. Using a computer, a user able to view screens thattransitions him through the comparison shopping process. Each of thedisplays represents a page that is displayed in response to some useraction. When a user makes a selection or enters information on a page, arequest is made to a server over a network to obtain another page. Therequest may cause the comparison shopping system to perform one or morefunctions at or under control of the server, with results being providedto user in the form of one or more web pages.

Initially, a user, using a computer, which may be coupled to a networkor stand alone, displays a first screen, or top page, 101 showinggeneral categories for selection. The network may be a wide area networksuch as, for example, the Internet, or a proprietary network such asAmerica Online®, CompuServe®, Microsoft Network®, or Prodigy®.

At processing block 102, a user selects a general category. Optionally,the computer then displays drilldown pages 103 showing more specificcategories. At processing block 104, the user selects a specificcategory. In response to selection of the specific category, thecomputer shows a product list window 120 with a dashboard control 110 atprocessing block 105. The user may have to select a certain number ofspecific categories at processing block 103 before the computer displaysthe product list window 120.

The dashboard control 110 may be used to filter the product list 120 byallowing the user to choose price, brand and features the user wants tosee and/or believes to be important. In processing block 111, the screenshows typical price range intervals for the product category chosen. Atprocessing block 112, the user may select one of the price rangeintervals shown. In response to the price range selected by a user, thesystem 100 then filters the product list at processing block 121 to showat window 120 only products within the specified price range.

At processing block 113, the screen shows brands that make products inthe product category chosen. At processing block 114, the user mayselect one or more of the brands shown on dashboard control 110. Inresponse to a brand selection, the system 100 filters the product listat processing block 123 to show window 120, it only products made by thespecified brands.

At processing block 115 of the dashboard control 110, the system showsproduct feature categories ranked by importance. At processing block117, which may comprise a pop-up window, the system allows the user todefine feature category constraints. In other words, the user is able tospecify those product features that are important to him. In response toselection of these specific product features, the dashboard control 110shows active feature category constraints at processing block 116, ifany. At processing block 126, the system 100 filters the product list toshow in the product list window 120 only products with the specifiedfeature categories.

The dashboard control 110 may also include pop-up windows 118 and 119.Pop-up window 118 shows a user buyer's guides for the product categorychosen. Pop-up window 119 may show a user explanations of individualfeature categories if the user wishes to see such explanations.

The product list window 120 may also include pop-up windows 122 and 124.Pop-up window 122 may show a review on a specific item in the productlist window 120, while pop-up window 124 may show the context for onefeature of one item in the product list window against the competitivefield, or other products in the product category chosen. The featurecontextualization described with reference to pop-up window 124 will bediscussed further below, with respect to FIG. 5.

At processing block 125, from the product list window, a user may selecta specific product item to examine. In response to a selection, thesystem 100 expands the line item to shown more details of the selectedproduct item in processing block 126. The product list window may alsobe reorganized by selecting sort keys to re-sort the list. At processingblock 127, a user may select sort keys such as, for example, price,memory size, or any other product features(s) that the user chooses. Inresponse to the selection, at processing block 128, the system 100re-sorts the list according to the users chosen sort method.

FIG. 2 a is a flow diagram of an embodiment of a product feature inrelation comparison system. At processing block 201, the system 100assigns feature categories to each product category based on availabledata. Available data may include, for example, features that areimportant to a product or that occur in all brands of the same productextracted from literature about the product such as articles, reviews,etc.

At processing block 202, a system 100 assigns weighted importance toeach feature category based on the available data. The available datamay include, for example, the number of times the feature is mentionedin product literature. The weighted importance may include assigning anumerical value between 0 and 100, for example. Alternatively, theweighted importance may include a different numerical scale or assigninga letter value to each feature category within a product category, orany other way of signifying a weighted importance.

The feature categories and weighted importance of each feature categoryare stored in a database (not shown) for each product category. It willbe understood that the processes performed in processing blocks 201 and202, and similar processes described below, may be edited by an editor.Such editing may, for example, ensure that the representation of thedata in the database is correct (e.g., that a product category includesall of the correct feature categories with those categories weightedcorrectly).

At processing block 203, the items in the product category are rankedaccording to the weighted importance of the feature categories. Thus,for a category such as, for example, personal digital assistant (PDA),the feature categories may include screen type, memory, upgradability,and functions, etc. If the available data indicates that the screen typeand memory are more important for PDA's than upgradability or a numberof functions, then screen type and memory will be given higher ratingsthan upgradability and functions available. Thus, PDA's may be rankedaccording to the average price first, then screen type, then memory,etc. In one embodiment, the ranking is stored in the database. In analternate embodiment, the ranking is dynamically generated every time aperson chooses a product category.

FIG. 2 b shows a flow diagram of another embodiment of a product featurein relation comparison system. At processing block 201, the system 100assigns feature categories to each product category based on availabledata. At processing block 202, the system assigns a weighted importanceto each feature category based on available data. At processing block204, the system allows the user to choose at least one feature categoryof importance to the user. For example, when the product category isPDAs, the user may choose the feature category corresponding to thenumber of functions included.

In response to the user selection, at processing block 205, the systemranks the items within the product category based on the chosencategories and the weighted importance. In the example above, where thecategory is PDAs, the system re-sorts the items within the productcategory to give more importance to the feature category of number offunctions.

FIG. 3 is the flow diagram of an embodiment of a product feature andrelation comparison system. At processing block 301, the system 100assigns feature categories to each product category based on availabledata. At processing block 302, the system 100 assigns a weightedimportance to each feature category based on available data. Atprocessing block 303, the system 100 ranks items in a product categoryaccording to the weighted importance of the feature categories. Atprocessing block 306, the system 100 assigns an essential_feature tag toeach essential feature category of a product category based on availabledata. Thus, for PDAs, for example the essential feature categories mayinclude screen resolution and memory. All or any of the processesperformed by processing blocks 301-303 and 306 may be edited by aneditor to override automated assignments made by the system 100 based onavailable data.

In the embodiment illustrated in FIG. 3, the system 100 creates linkswithin product categories to relate each product category to anotherproduct category where a relationship exists between the productcategories. Many different processes may be used to relate the productcategories to one another.

In one embodiment, at processing block 307, the product category counteris set to 0 so that product_category (n)=product_category (0). Atprocessing block 308, system 100 looks at product_category (n) todetermine whether product_category (n) has all of the essential_featurecategories of at least one other product category plus at least oneother feature category that is not included in the other productcategory.

If all the essential_feature categories plus one other feature categoryis included in product_category (n), a relation type of is_a_kind_of isassigned to product_category (n) at processing block 309. A relationtype of is_a_kind_of represents that the product category is a subset ofanother product category. For example, Organizers & Notetakers is asubset of PDAs and PDAs are a subset of electronics. Thus, the categoryOrganizers & Notetakers would be assigned a relation type ofis_a_kind_of PDA and the category PDA would be assigned a relation typeof is_a_kind_of Electronics.

At processing block 310, a link is created between product_category (n)and each related product category. Then, at processing block 311, n iscompared to End to see if the product category just examined was thelast product category in the database. If n equals the value of End, inblock 311, the product category was the last product category.

If the product category is the last product category, then the system100 creates hierarchical product category trees based on is_a_kind_oflinks, at processing block 313. At processing block 312, if theproduct_category (n) is not the last product category, product_category(n) is incremented by one and the next product category is examined atprocessing block 308.

When the links have been created, when a user chooses to look at thecategory Electronics, a is_a_kind_of link between Electronics and othercategories will prompt the system 100 to show the user a screen showingdifferent branches of the Electronics category. Thus, in the exampleabove, the user will see a screen that includes PDAs as a subcategory ofElectronics. If the user chooses PDAs, the user will see a screen thatincludes Organizers & Notetakers as a subcategory of PDAs.

Relation types other than “is_a_kind_of” may be assigned to productcategories. Other relation types include “is_a_part_of;”“is_an_accessory for,” and “is_a_resource_for.” A relation type ofis_a_part_of may be assigned to a product category if the items in theproduct category are used only by inclusion in items of a second productcategory. For example, with respect to PDAs, this may includereplacement memory chips, replacement screens, etc.

A relation type of is_an_accessory_for may be assigned to a firstproduct category if the items in the product category are used only inconjunction with a second product category although the items in thesecond product category may be used without the items in the firstproduct category. An example of this is Palm for the Palm V PDA with theexternal keyboard for Palm V being in the second product category.

A relation type of is_a_resource_for may be assigned to a productcategory if the items in the product category are used only inconjunction with items in a second product category and is somethingthat is consumable or exhaustible or has a fixed-limit life-span. Theproduct categories that are assigned a relation type ofis_a_resource_for may or may not be necessary for the base product. Forexample, printer cartridges are a resource for printers.

Links may be created within each product category to reflect eachassigned relation type. Thus, when a product list is displayed onproduct list window 120, a link may be included in the display toreflect that other items related to the items listed are available.Thus, the product list window 120 may include links indicating that“parts for”, “accessories for”, or “resources for” the items displayedin the product list window 120 are available. The links may be used togo directly to the product list window 120 of the related productcategory.

FIG. 4 is a flow diagram of an embodiment of a product feature andrelation comparison system. At processing block 401, a system 100assigns feature categories to each product category based on availabledata. At processing block 402, the system assigns a weighted importanceto each feature category based on available data. At processing block412, the system 100 assigns a property type to each feature categorybased on the available data. The property type for each feature categoryis then stored in a database (not shown). The property types may includenumerical property types, enumerated property types, text property typesand meta property types.

In one embodiment, numerical property types represent properties thatare measured in a quantitative way. For example, numerical propertytypes may include two sub-types: integer and decimal. Integer values arerepresented as −3, −2, −1, 0, 1, 2, 3, etc. Decimal properties arerepresented as real numbers such as, for example, 36.1 or 0.125, etc.For example, on a VCR, the number of audio input jacks is an integervalue, e.g., 4, while the width is in inches represented as a decimalnumber, e.g., 19.75″.

Enumerated property types are property types that have a fixed number ofspecified values. There are four sub-types of enumerated property types,including discrete, scalar, Boolean property types, and qualifiedBoolean property types. Discrete properties are values that do not admitof any evaluative scale, such as red, blue, yellow, etc., for example,where none of these values is inherently more valuable to a user thananother. For example, the colors of a GameBoy Device (e.g., yellow,blue, etc.) are enumerated property types.

Scalar values are enumerated values that do admit of an ordered scale,such as, for example, black-and-white, gray-scale, color, etc., whereeach value in the list does have an inherently greater or lesser valuethan each other value in the list. Boolean properties have a simpleyes/no or a true/false valuation. Qualified Boolean properties have ayes/no/optional enumeration indicating either that the property exists(yes), it does not exist (no), or that it is an optional add-on to theproduct (optional). For example, some cameras have flash capability,some no flash capability, some can add a flash capability.

Text properties are those properties that are represented by free formtext. Text properties may or may not admit of a value. For example, anitem having no text in a feature category may be of lesser value than anitem having text in the same category. For example, football jerseys mayhave an “autographed by” field which would be represented in free formtext.

Meta properties are families of either Boolean or qualified Booleanproperties that are grouped under a common label of which they are allinstances. In the product category of television sets, for example, aMeta property grouping may be “special display functions.” A “specialdisplay functions” grouping may include, for example,picture-in-picture, closed caption, Spanish language menus, etc. In thisexample, “special display functions” is a meta property that groupstogether numerous Boolean properties (the television has it or it doesnot have it).

All of the assignments of property type to feature categories may bereviewable and overrideable by editors.

At processing block 422, evaluative metrics are assigned to each featurecategory based on the property type. Thus, any property type that may becompared may be assigned evaluative metrics describing how theproperties or features in a feature category should be compared todistinguish between items in a property category.

For example, if the property type is a numerical property type, then thefeatures in each feature category are compared with respect to thenumerical value for each item. Numerical properties may also be given atag of “forward” or “backward” or “non-applicable” to indicate whatnumerical order is preferable from a user's point of view. If a largernumber is more preferable from a user's point of view, a forward metricshould be assigned; if a smaller number is preferable from a user'spoint of view, a backward metric should be assigned; or if a numericalproperty does not inherently indicate a preference from a user's pointof view, a non-applicable metric may be assigned. A non-applicablemetric may be applied to a piece of furniture such as a chair, forexample, where the height of the chair does not matter. The propertytypes and evaluative metrics are assigned based on available data. Inone embodiment, the enumerated and Boolean types also have metrics.

All of the assignments of evaluative metrics andforward/backward/non-applicable metrics may be overridden by editors.

At processing block 423, the system checks to see if a user has chosenat least one feature category of importance to the user. If the user haschosen a category of importance to the user, the system 100 ranks eachproduct category according to the user's chosen feature categories, theweighted importance of each feature category and the evaluative metricof each feature category. Thus, items ranked in product list window 120would rank items giving priority to the user's chosen feature categoriesusing the evaluative metric to order the items. Although the user chosenfeature categories are given priority, the weighted importance of eachfeature category is also used in the ranking. In one embodiment, analgorithm to perform the ranking involves diverse factors including whatthis user has selected, what other users most frequently select, what ismore frequently and prominently mentioned in product literature andreviews as measured statistically.

If the user has not chosen at least one feature category of importanceto the user at processing block 423, the system 100 proceeds toprocessing block 425. At processing block 425, the system 100 ranks theitems in each product category according to the weighted importance ofeach feature category and the evaluated metrics of each feature categoryof the product category.

FIG. 5 is a graph illustrating an embodiment of a featurecontextualization system. Graph 500 is an example of the contents of apop-up window 124 showing the context for one feature of one productagainst the competitive field. As an example, FIG. 5 shows a featurecontextualization image 500 illustrating the placement of a selectedmodel of a PDA based on the memory of the PDA in the price range chosenby the user. The graph 500 shows random access memory (RAM) 501 inmegabytes on the y axis. The graph 500 shows the model price along xaccess 502.

The selected model 503 is compared to other models 510-516 which arepriced in the price range of $200-$399. Thus, a user may see where thechosen model 503 stands with regard to the amount of memory available inthe user's chosen price range of a field of products. This contextsensitive presentation is possible because of the inclusion of theevaluative metrics and delineation of the property values throughout anentire category. Any feature category may be used to show the chosenproduct item against the competitive field.

FIG. 6 is a flow diagram of an embodiment of a decision support system.At processing block 601, the system starts with user specified featureconstraints. At processing block 602, the feature searches through adatabase to see if the desired features are found. If the desiredfeatures are found, the product items are listed at processing block603. At processing block 604, the user selects the desired product. Atprocessing block 605, the system 100 shows merchant offers for theselected product item. At processing block 606 the user selects thepreferred offer.

The merchant offers shown at processing block 605 may include buyerinformation data retrieved from available data. The buyer informationdata may also be organized into buyer information categories. The buyerinformation categories may include the price offered by the merchant,the shipping costs, the shipping method and availability of the item.The user may also choose the type of shipping method to determine theshipping costs and the amount of time needed for shipping.

Each of the buyer information categories may also be ranked according toavailable data to show the merchant offers in a list. The ranking of themerchant offers may be based on weighted importance and evaluativemetrics assigned to the buying information categories based on availabledata, as described with respect to the feature categories above.

At processing block 607, the system 100 confirms that the item is instock and available with the merchant chosen. If the item is confirmedto be in stock and available, the system 100 proceeds to the purchaseprocess at processing block 608.

If the item is not available with the chosen merchant or is not instock, the system will search for the most similar offer from othermerchants at processing block 613. If additional merchant offers arefound, at processing block 614, the system 100 returns to processingblock 607 to confirm whether the item is in stock and available. If theadditional merchant offers are not found at processing block 615, thesystem looks for other models with the same features and proceeds toprocessing block 602 to determine whether the desired features are inthe database.

If at processing block 602, the desired features are not found, then atprocessing block 609, the constraints on the less important features arerelaxed. At processing block 610, the system 100 determines if a nearmatch is found. If a near match is found, the system proceeds toprocessing block 603 and lists the products found. If a near match isnot found, then the system determines whether the constraints can befurther relaxed and still have an acceptable match at processing block611. For example, if a User wants a Sony TV 27″ w/PIP price $369 and itis not available, one embodiment of the system may provide the followinglist of products that match the relaxed constraints. Thres- 1. Sony TV27″ w/PIP price $379 96% value match hold 82% 2. Philips TV 27″ w/PIPprice $369 91% value match 3. Sony TV 25″ w/PIP price $339 84% valuematch 4. Sony TV 27″ No PIP price $365 80% value match 5. Sony TV 26″ NoPIP price $371 74% value matchIn one embodiment, the percentage value match is effected by directfeatures weighted differently as regards to how strongly the disparitywill effect this number. Those above the threshold may be shown.

If the constraints can be further relaxed, then the system 100 proceedsto processing block 609 to further relax the constraints on lessimportant features. If the constraints cannot be further relaxed, thesystem displays a “sorry” message at processing block 612. The systemmay ask the user to specify other feature category constraints afterdisplaying the “sorry” message at processing block 612.

It will be appreciated that all of the components described are notnecessary for this invention, and components may be added or deleteddepending on the system requests. It will also be appreciated that allof the above processes for classifying or weighting or evaluating datathat is performed by automated means, such as software or hardware, maybe overridden by editors.

Whereas many alterations and modifications of the present invention willno doubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description, it is to be understood that thevarious embodiments shown and described by way of illustration are in noway intended to be considered limiting. Therefore, references to detailsof various embodiments are not intended to limit the scope of the claimswhich in themselves recite only those features regarded as essential tothe invention.

1. A system for generating a customized listing of items comprising: adatabase having a plurality of items stored therein; a controlleradapted to receive from a user, a request to retrieve a plurality ofitems from said database and a plurality of weighting selectionscorresponding to a plurality of features, said weighting selectionsbeing indicative of the importance of said corresponding features to theuser; and a processor adapted to retrieve a plurality of items from saiddatabase and generate a listing of at least a portion of said pluralityof items retrieved based on said request and said plurality of weightingselections so that said generated listing of items is customized for theuser based on the importance of said plurality of features to the user.2. The system of claim 1, wherein said items are data records.
 3. Thesystem of claim 2, wherein said data records are references to webpages.
 4. The system of claim 2, wherein said data records include atleast one of a product identification, a product category, and a productfeature category.
 5. The system of claim 1, wherein said processorgenerates an initial ranking of said plurality of items by assigninginitial weightings to said plurality of features.
 6. The system of claim5, wherein said processor re-sorts said initial ranking of items basedon said plurality of weighting selections received from the user togenerate said listing of items.
 7. The system of claim 1, wherein saidrequest and said plurality of weighting selections are made by said userthrough a user interface.
 8. The system of claim 7, wherein said requestis a selection of a category.
 9. The system of claim 1, wherein saidcontroller is graphically rendered to graphically indicate saidplurality of weighting selections corresponding to said plurality offeatures.
 10. The system of claim 1, wherein said plurality of featuresare graphically rendered.
 11. The system of claim 1, wherein saidplurality of weighting selections of the user for said plurality offeatures are graphically rendered.
 12. The system of claim 1, whereinsaid controller is further adapted to allow the user to assign numericvalues to weigh said plurality of features.
 13. The system of claim 1,wherein said controller is further adapted to allow the user to selectnumerals from a numeric scale to weigh said plurality of features. 14.The system of claim 1, wherein said controller is adapted to allow theuser to assign a letter value to weigh said plurality of features. 15.The system of claim 1, wherein said system further graphically renderssaid generated listing of items.
 16. The system of claim 1, wherein saidprocessor is further adapted to reduce at least one of said plurality ofweighting selections from the user to include additional items in saidgenerated listing of items.
 17. The system of claim 1, wherein saidsystem is connected to a wide area network and remotely accessible bythe user.
 18. The system of claim 1, wherein said processor generatesthe listing based also on each item's evaluative metrics so that saidgenerated listing of items is customized for the user based on theimportance of said plurality of features to the user and evaluativemetrics associated with each item.
 19. The system of claim 18, whereinsaid database includes evaluative metrics associated with said pluralityof items stored therein.
 20. The system of claim 18, further including ameans for assigning evaluative metrics to at least one of said pluralityof features.
 21. The system of claim 20, wherein said means forassigning evaluative metrics assigns the evaluative metrics based on afeature category property type and available data.
 22. The system ofclaim 21, wherein said means for assigning evaluative metrics assigns: anumerical property type to a feature category if the features in thefeature category are measured in a quantitative way; an enumeratedproperty type to a feature category if the features in the featurecategory have a fixed number of specified values; and a property type oftext property if the features in the feature category are represented byfree form text.
 23. The system of claim 22, wherein said means forassigning evaluative metrics assigns the enumerated property type by:assigning a sub-property type of discrete if one feature in a featurecategory is not inherently more valuable than another; assigning asub-property type of scalar if one feature in a feature category isinherently more valuable than another; assigning a sub-property type ofBoolean if the features in a feature category may have a valuation ofonly yes or no; and assigning a sub-property type of qualified Booleanif the feature in a feature category may have a valuation of yes, no, oroptional.
 24. The system of claim 22, wherein said means for assigningevaluative metrics assigns: an evaluative tag of forward metric to afeature category if a value of an item in a product category increasesas a numerical valuation of features within the feature categoryincreases; an evaluative tag of backward metric to a feature category ifthe value of an item in a product category decreases as numericalvaluation of features within the feature category increases; and anevaluative tag of non applicable to a feature category if the value ofan item in a product category does not change with numerical valuationof features within a feature category; wherein the evaluative tag isused to rank items in a product category by said processor.
 25. A systemfor generating a customized listing of data records comprising: adatabase having a plurality of data records stored therein; a controlleradapted to receive a request to retrieve a plurality of data recordsfrom said database, and weighting selections corresponding to aplurality of features, said weighting selections being indicative of theimportance of said corresponding features; and a processor thatretrieves a plurality of data records from said database based on saidrequest, and generates a listing of at least a portion of said pluralityof data records retrieved based on said plurality of weightingselections so that said generated listing of data records is customizedbased on the importance of said plurality of features.
 26. The system ofclaim 25, wherein said controller is graphically rendered to graphicallyindicate said plurality of features and said plurality of weightingselections corresponding to said plurality of features.
 27. The systemof claim 25, wherein said system further graphically renders saidgenerated listing of data records.
 28. The system of claim 27, whereinsaid controller is adapted to allow assignment of numeric values toweigh said plurality of features.
 29. The system of claim 27, whereinsaid controller is adapted to allow selection of numerals from a numericscale to weigh said plurality of features.
 30. The system of claim 25,wherein said processor generates the listing based also on evaluativemetrics associated with the data records so that said generated listingof data records is customized for the user based on the importance ofsaid plurality of features to the user and evaluative metrics associatedwith the data records.
 31. The system of claim 30, further including ameans for assigning evaluative metrics to at least one of said pluralityof features.
 32. A method for generating a customized listing of itemscomprising: providing a database having a plurality of items storedtherein; receiving from a user, a request to retrieve a plurality ofitems from said database; receiving from the user, a plurality ofweighting selections corresponding to a plurality of features, saidweighting selections being indicative of the importance of saidcorresponding features to the user; retrieving a plurality of items fromsaid database; and generating a listing of at least a portion of saidplurality of items retrieved based on the received request and saidplurality of weighting selections so that said generated listing ofitems is customized for the user based on the importance of saidplurality of features to the user.
 33. The method of claim 32, whereinsaid items are data records.
 34. The method of claim 33, wherein saiddata records are references to web pages.
 35. The method of claim 33,wherein said data records include at least one of a productidentification, a product category, a product feature category, andevaluative metric.
 36. The method of claim 32, further includinggenerating an initial ranking of said plurality of items by assigninginitial weightings to said plurality of features.
 37. The method ofclaim 36, further including re-sorting said initial ranking of itemsbased on said plurality of weighting selections received from the userto generate said listing of items.
 38. The method of claim 32, whereinsaid request and said plurality of weighting selections are made by saiduser through a user interface.
 39. The method of claim 38, wherein saidrequest is a selection of a category.
 40. The method of claim 32,further including graphically rendering said plurality of features. 41.The method of claim 32, further including graphically rendering saidplurality of weighting sections corresponding to said plurality offeatures.
 42. The method of claim 41, wherein said plurality of featuresare graphically rendered in a pop-up window.
 43. The method of claim 32,further including assigning numeric values to weigh said plurality offeatures.
 44. The method of claim 32, further including selectingnumerals from a numeric scale to weigh said plurality of features. 45.The method of claim 32, further including assigning letter values toweigh said plurality of features.
 46. The method of claim 32, furtherincluding graphically rendering said generated listing of items.
 47. Themethod of claim 32, further including reducing at least one of saidplurality of weightings from the user to include additional items insaid generated listing of items.
 48. The method of claim 32, whereingenerating said listing is based also on each item's evaluative metricsso that said generated listing of items is customized for the user basedon the importance of said plurality of features to the user andevaluative metrics associated with each item.
 49. The method of claim48, wherein said database includes evaluative metrics associated withsaid plurality of items stored therein.
 50. The method of claim 48,further including assigning evaluative metrics to at least one of saidplurality of features.
 51. The method of claim 50, wherein assigningevaluative metrics includes: assigning a property type to each feature;wherein said step of assigning the evaluative metrics to each feature isbased on the property type and available data.
 52. The method of claim51, wherein assigning the property type includes: assigning a numericalproperty type to a feature category if the features in the featurecategory are measured in a quantitative way; assigning an enumeratedproperty type to a feature category if the features in the featurecategory have a fixed number of specified values; and assigning aproperty type of text property if the features in the feature categoryare represented by free form text.
 53. The method of claim 52, whereinassigning the enumerated property type comprises: assigning asub-property type of discrete if one feature in a feature category isnot inherently more valuable than another; assigning a sub-property typeof scalar if one feature in a feature category is inherently morevaluable than another; assigning a sub-property type of Boolean if thefeatures in a feature category may have a valuation of only yes or no;and assigning a sub-property type of qualified Boolean if the feature ina feature category may have a valuation of yes, no, or optional.
 54. Themethod of claim 52 further comprising: assigning a evaluative tag offorward metric to a feature category if a value of an item in a productcategory increases as a numerical valuation of features within thefeature category increases; assigning a evaluative tag of backwardmetric to a feature category if the value of an item in a productcategory decreases as numerical valuation of features within the featurecategory increases; and assigning a evaluative tag of non applicable toa feature category if the value of an item in a product category doesnot change with numerical valuation of features within a featurecategory; wherein the evaluative tag is used to rank items in a productcategory.
 55. A method for generating a customized listing of datarecords comprising: providing a database having a plurality of datarecords stored therein; receiving a request to retrieve a plurality ofdata records from said database; retrieving a plurality of records fromsaid database based on said request; receiving a plurality of weightingselections corresponding to a plurality of features, said weightingselections being indicative of the importance of said correspondingfeatures; and generating a listing of at least a portion of saidplurality of data records retrieved based on said received plurality ofweighting selections so that said generated listing of data records iscustomized based on the importance of said plurality of features. 56.The method of claim 55, further including graphically rendering saidplurality of features and said plurality of weighting selectionscorresponding to said plurality of features.
 57. The method of claim 56,further including graphically rendering said generated listing of datarecords.
 58. The method of claim 57, further including assigning numericvalues to weigh said plurality of features.
 59. The method of claim 57,further including selecting a numeral from a numeric scale to weigh saidplurality of features.
 60. The method of claim 55, wherein said listingis generated based also on evaluative metrics associated with the datarecords so that said generated listing of data records is customized forthe user based on the importance of said plurality of features and theevaluative metrics associated with the data records.
 61. The method ofclaim 55, further including assigning evaluative metrics to at least oneof said plurality of features.
 62. A computer readable medium forgenerating a customized listing of items by retrieving a plurality ofitems from a database, said medium comprising: instructions forreceiving from a user, a request to retrieve a plurality of items fromsaid database; instructions for receiving from the user, a plurality ofweighting selections corresponding to a plurality of features, saidweighting selections being indicative of the importance of saidcorresponding features to the user; instructions for retrieving aplurality of items from said database; and instructions for generating alisting of at least a portion of said plurality of items retrieved basedon said received request and said plurality of weighting selections sothat said generated listing of items is customized for the user based onthe importance of said plurality of features to the user.
 63. The mediumof claim 62, wherein said items are data records.
 64. The medium ofclaim 62, wherein said data records are web pages associated withproducts.
 65. The medium of claim 64, wherein said data records includeat least one of a product identification, a product category, and aproduct feature category.
 66. The medium of claim 64, further includinginstructions for generating an initial ranking of said plurality ofitems by assigning initial weightings to said plurality of features. 67.The medium of claim 66, further including instructions for re-sortingsaid initial ranking of items based on said plurality of weightingselections to generate said listing of items.
 68. The medium of claim62, further including instructions for providing a user interface, saidrequest and said plurality of weighting selections being made by theuser through said user interface.
 69. The medium of claim 68, whereinsaid request is a selection of a category.
 70. The medium of claim 62,further including instructions for graphically rendering said pluralityof weighting sections corresponding to said plurality of features. 71.The medium of claim 62, further including instructions for graphicallyrendering said plurality of features.
 72. The medium of claim 71,further including instructions for graphically rendering said pluralityof features in a pop-up window.
 73. The medium of claim 62, furtherincluding instructions for receiving numeric values from the user toweigh said plurality of features.
 74. The medium of claim 62, furtherincluding instructions for graphically rendering at least one numericscale, and instructions for receiving numeric selections from said atleast one numeric scale to weigh said plurality of features.
 75. Themedium of claim 62, further including instructions for receiving aletter value from the user to weigh said plurality of features.
 76. Themedium of claim 62, further including instructions for graphicallyrendering said generated listing of items.
 77. The medium of claim 62,further including instructions for reducing at least one of saidplurality of weightings from the user to include additional items insaid generated listing of items.
 78. The medium of claim 62, whereininstructions for generating said listing generates said listing basedalso on each item's evaluative metrics so that said generated listing ofitems is customized for the user based on the importance of saidplurality of features to the user and evaluative metrics associated witheach item.
 79. The medium of claim 78, wherein said database includesevaluative metrics associated with said plurality of items storedtherein.
 80. The medium of claim 78, further including instructions forassigning evaluative metrics to at least one of said plurality offeatures.
 81. The medium of claim 80, wherein instructions for assigningevaluative metrics includes: instructions for assigning a property typeto each feature category; wherein said instructions for assigning theevaluative metrics to each feature in each feature category assignsmetrics based on the feature category property type and available data.82. The medium of claim 81, wherein instructions for assigning theproperty type comprises: instructions for assigning a numerical propertytype to a feature category if the features in the feature category aremeasured in a quantitative way; instructions for assigning an enumeratedproperty type to a feature category if the features in the featurecategory have a fixed number of specified values; and instructions forassigning a property type of text property if the features in thefeature category are represented by free form text.
 83. The medium ofclaim 82, wherein instructions for assigning the enumerated propertytype comprises: instructions for assigning a sub-property type ofdiscrete if one feature in a feature category is not inherently morevaluable than another; instructions for assigning a sub-property type ofscalar if one feature in a feature category is inherently more valuablethan another; instructions for assigning a sub-property type of Booleanif the features in a feature category may have a valuation of only yesor no; and instructions for assigning a sub-property type of qualifiedBoolean if the feature in a feature category may have a valuation ofyes, no, or optional.
 84. The medium of claim 82, wherein instructionsfor further comprising: instructions for assigning a evaluative tag offorward metric to a feature category if a value of an item in a productcategory increases as a numerical valuation of features within thefeature category increases; instructions for assigning a evaluative tagof backward metric to a feature category if the value of an item in aproduct category decreases as numerical valuation of features within thefeature category increases; and instructions for assigning a evaluativetag of non applicable to a feature category if the value of an item in aproduct category does not change with numerical valuation of featureswithin a feature category; wherein the evaluative tag is used to rankitems in a product category.
 85. A computer readable medium forgenerating a customized listing of data records by retrieving aplurality of data records from a database, said medium comprising:instructions for receiving a request to retrieve a plurality of datarecords from said database; instructions for retrieving a plurality ofdata records from said database based on said request; instructions forreceiving a plurality of weighting selections corresponding to aplurality of features, said weighting selections being indicative of theimportance of said corresponding features; and instructions forgenerating a listing of at least a portion of said plurality of datarecords retrieved based on said received plurality of weightingselections so that said generated listing of data records is customizedbased on the importance of said plurality of features.
 86. The medium ofclaim 85, further including instructions for graphically rendering saidplurality of features and said plurality of weighting sectionscorresponding to said plurality of features.
 87. The medium of claim 86,further including instructions for graphically rendering said generatedlisting of data records.
 88. The medium of claim 87, further includinginstructions for receiving numeric values to weigh said plurality offeatures.
 89. The medium of claim 87, further including instructions forreceiving a numeral selection from a numeric scale to weigh saidplurality of features.
 90. The medium of claim 85, wherein instructionsfor generating said listing generates said listing based also onevaluative metrics associated with the data records so that saidgenerated listing of data records is customized for the user based onthe importance of said plurality of features and the evaluative metricsassociated with the data records.
 91. The medium of claim 85, furtherincluding instructions for assigning evaluative metrics to at least oneof said plurality of features.